<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> Visual Workflow Editor</title>
 
<meta name="GENERATOR" content="TtH 3.67">
 <style type="text/css"> div.p { margin-top: 7pt;}</style>
 <style type="text/css"><!--
 td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;}
 td div.comb { margin-top: -0.6ex; margin-bottom: -.6ex;}
 td div.hrcomp { line-height: 0.9; margin-top: -0.8ex; margin-bottom: -1ex;}
 td div.norm {line-height:normal;}
 span.roman {font-family: serif; font-style: normal; font-weight: normal;} 
 span.overacc2 {position: relative;  left: .8em; top: -1.2ex;}
 span.overacc1 {position: relative;  left: .6em; top: -1.2ex;} --></style>
 </head>
 
 <body>
      
<h1 align="center">Visual Workflow Editor </h1>
<h1><a name="tth_chAp5"></a>Development Manual</h1><a name="ch:appendix_code">
</a>
<p>
<a name="tth_sEc0"></a>
The  development tools that have been used to carry out thia project are:
</p>

<ul>
<li> Eclipse IDE 3.4</li>
<li> Eclipse Modelling Tools (EMF) 2.4</li>
<li> Graphical Modelling Framework (GMF) 2.1</li>
</ul>

<p>
To setup the environment and avoid getting any unresolved plugins
dependencies, the <a href="http://www.eclipse.org/modeling/emf/">
Eclipse Modelling Tools</a> package should be installed. The project
files have been uploaded on to <a
href="http://code.google.com/p/ogsadai-wf-vis/source/checkout">
repository</a> using the <i>SVN Repository Exploring</i> view import
all the project into your workspace. This can be done using (if you
have an account):
</p>

<pre>
svn checkout https://ogsadai-wf-vis.googlecode.com/svn/trunk/ ogsadai-wf-vis --username YourID
</pre>

<p>
or if you do not:
</p>

<pre>
svn checkout http://ogsadai-wf-vis.googlecode.com/svn/trunk/ ogsadai-wf-vis-read-only
</pre>

<p>
The list of modules that should appear in the workspace then is:
</p>

<ul>
<li> <code>gsoc.ogsadai.client</code></li>
<li> <code>gsoc.ogsadai.custom</code></li>
<li> <code>gsoc.ogsadai.diagram</code></li>
<li> <code>gsoc.ogsadai.gmf</code></li>
<li> <code>gsoc.ogsadai.librarywrapper</code></li>
<li> <code>gsoc.ogsadai.model</code></li>
<li> <code>gsoc.ogsadai.model.edit</code></li>
<li> <code>gsoc.ogsadai.model.editor</code></li>
<li> <code>gsoc.ogsadai.model.properties</code></li>
<li> <code>gsoc.ogsadai.plugin.librarywrapper</code></li>
</ul>

<p>
The next sections provide a brief explanation of each of these modules,
focusing on the structure and purpose of the module, and grouping
them together by functionality.
</p>

<h2><a name="tth_sEc1"></a>Libraries</h2>

<p>
The <code>gsoc.ogsadai.plugin.librarywrapper</code> contains all the
libraries that are needed to access the OGSA-DAI Client Toolkit from
eclipse. The jars that are included in the plugin are the same as
those added by the OGSA-DAI <code>setenv.sh</code> script included in
the OGSA-DAI distribution, plus those jars that added by the OGSA-DAI
extension pack 1. It is possible to divide the jars into four groups:
</p>

<ol type="1">
<li> 
OGSA-DAI: jars related to the Client Toolkit.
</li>

<li> 
OGSA-DAI Globus Toolkit: jars used by the Client Toolkit to
access WSRF services.
</li>

<li> 
OGSA-DAI Third party: jars provided by third parties.
</li>

<li> 
OGSA-DAI Extension pack 1: jars that are provided by the Extension pack 1.
</li>
</ol>

<h2><a name="tth_sEc2"></a>&nbsp;&nbsp;OGSA-DAI client</h2>

<p>
The <code>gsoc.ogsadai.client</code> module contains the client that
interacts with the OGSA-DAI server. The functionalities that have been
implemented so far are:
</p>

<ul>

<li> Activities and resource discovery</li>

<li> Workflow deployment</li>
</ul>

<h2><a name="tth_sEc3"></a>Workflow model</h2>

<p>
The modules involved are: 
</p>

<ul>
<li> 
<code>gsoc.ogsadai.model</code>: contains the model definition
(<code>request.genmodel</code>). The code in the packages is
automatically generated, starting from the <code>Request.xsd</code>
definition. In order to rebuild the model select the
<code>request.model</code> file, and then reload (this procedure is
needed when there is a change to the model). 
</li>

<li> 
<code>gsoc.ogsadai.model.edit</code>: contains the
<code>EMF.Edit</code> generated code. The file that have been heavily
modified is <code>ActivityTypeItemProvider</code>.  
</li>

<li> 
<code>gsoc.ogsadai.model.editor</code>: contains the <code>EMF.Editor</code> 
generated code.
</li>

</ul>

<h2><a name="tth_sEc4"></a>Graphical model</h2>

<p>
The modules involved are:
</p>

<ul>
<li> 
<code>gsoc.ogsadai.gmf</code>: contains the GMF models definition that are
explained in Section<a href="#sec:gmf">8</a> of the report. No source
code here.
</li>

<li> 
<code>gsoc.ogsadai.diagram</code>: contains all the GMF generated
code. A class (<code>CustomProperties</code>) has been added in order
to display a property editor for the diagram properties.  
</li>

<li> 
<code>gsoc.ogsadai.custom</code>: contains the RCP code that is not
automatically generated by GMF: <code>DeployWorkflowAction</code> Action, and
<code>OutputView</code> View.
</li>
</ul>

<h2><a name="tth_sEc5"></a>Diagram properties</h2>

<p>
The module <code>gsoc.ogsadai.model.properties</code> can be
considered to be a helper module, containing the EMF model definition
for the properties related to the diagram. The module contains the
model definition, the EMF and the <code>EMF.Edit</code> generated
code.
</p>

</body>

</html>
